Resampling algorithm based on window function

ABSTRACT

A resampling method based on window function for flexible sampling rate conversion in broadband frequency measurement devices is described. The resampling algorithm can satisfy the requirements of different sampling rates. The frequency responses of the filter in the resampling model based on the Farrow structure are analyzed, and the design criterion of the filter in resampling model is considered. A fractional delay filter design model based on window function method is described. A fractional delay filter matrix, which is expressed by polynomial form, is constructed. Then the expression related to subfilter coefficients is obtained and subfilter coefficients are solved for by the least square method.

BACKGROUND

Resampling technology is becoming increasingly critical, as different frequency components are required to be measured in one device.

SUMMARY

A resampling algorithm based on window function method is described which can satisfy the requirements of different sampling rates. The frequency responses of the filter in the resampling model based on the Farrow structure are analyzed, and the design criterion of the filter in resampling model is considered. A fractional delay filter design model based on window function method is described. A fractional delay filter matrix, which is expressed by polynomial form, is constructed. Then the expression related to subfilter coefficients is obtained and subfilter coefficients are solved for by the least square method. The simulation results reveal that the presented method can flexibly adjust the frequency responses of the filter compared with the existing design methods, ensuring that frequency aliasing does not occur during resampling. The presented model can design the expected filter, the frequency responses of which change with the sampling rate and the delay. Therefore, the presented algorithm meets the conditions for application to existing measurement devices.

BRIEF DESCRIPTION OF THE DRAWINGS

In order to facilitate a fuller understanding of the present invention, reference is now made to the attached drawings. The drawings should not be construed as limiting the present invention, but are intended only to illustrate different aspects and embodiments of the invention.

FIG. 1 shows a flowchart for arbitrary sampling rate conversion.

FIG. 2 shows exemplary results and spectrum of sampling from analog filters.

FIG. 3 shows the flowchart of an exemplary resampling algorithm based on window function.

FIG. 4 shows the magnitude error of an exemplary VFD filter.

FIG. 5 shows the group delay error of an exemplary VFD filter.

FIG. 6 shows the magnitude responses of the corresponding exemplary VFD filter.

FIG. 7 shows the magnitude error of the designed exemplary VFD filter.

FIG. 8 shows the group delay error of the designed exemplary VFD filter.

FIG. 9 shows the magnitude responses of the exemplary VFD filter.

FIG. 10 illustrates exemplary hardware components for a server.

DETAILED DESCRIPTION

Exemplary embodiments of the invention will now be described in order to illustrate various features of the invention. The embodiments described herein are not intended to be limiting as to the scope of the invention, but rather are intended to provide examples of the components, use, and operation of the invention.

I. Introduction

With the increasing development of renewables and DC transmission, a large number of electronic devices are applied to power systems, which complicate the calculation of the electrical quantity. Therefore, the measurement devices are required to monitor the components within a wide frequency bandwidth, instead of just the fundamental one, such as the broadband frequency measurement devices in China and the Universal Grid Analyzer in the United States. Taking the broadband frequency measurement device as an example, besides the fundamental component, it needs to measure harmonics up to 50^(th) order and inter-harmonics from 0 to 300 Hz.

To measure the signals distributed within such a wide range, it is necessary to use different sampling frequencies for the calculation of different frequency components to decrease the computational burden. Therefore, the resampling process after the original sampling is critical. The resampling algorithm applied in the measurement devices requires the function of arbitrary sampling rate conversion and the prevention of frequency aliasing. In recent decades, certain resampling technologies have been widely used in radio, audio, digital signal processing, asynchronous sampling, and frequency estimation, among others.

The existing methods for the implementation of resampling algorithms can be categorized into three types. The first is a direct method of decimation, interpolation and combination, the second is based on a polyphase filter structure, and the third is based on polynomial interpolation. The first method is simple. However, once the sampling rate is changed, the filter needs to be redesigned; therefore, this method has poor flexibility. The second method uses a polyphase filter-bank to achieve synchronization and interpolation. The polyphase filter structure needs to design multiple different filter units to achieve the parallel filtering function. Compared with the first method, it can realize arbitrary rational sampling rate conversion; however, it requires multiple filter units, which creates a large calculational burden.

The principle of the third type of method is to implement interpolation via polynomial function, which can be further divided into Lagrange polynomials, spline interpolation polynomials and methods based on Farrow structure. The filters designed based on the Lagrange and spline interpolation polynomials have stable magnitude responses in the low-frequency band, but poor magnitude responses in the high-frequency band; thus, the performance of these filters is not great. An interpolation filter has been proposed, the impulse response of which is composed of a piecewise polynomial form that has good flexibility. When resampling by this method, the Farrow structure subfilter coefficients do not need to be changed, and the interpolation filter coefficients can be calculated according to different fractional delay parameters. This method can achieve efficient calculation and arbitrary sampling rate conversion, and has low calculational burden.

The key to design the Farrow structure interpolation filter is the determination of the subfilter coefficients. The existing coefficients design methods include weighted least squares (WLS), minimax methods, and intelligent algorithms. Among them, intelligent algorithms represented by particle swarm optimization (PSO) are only applicable to the cases of low-dimension coefficients; when the dimension of coefficients is high, the algorithm cannot be further optimized. The minimax method and WLS method are both designed to minimize the design error. During the design process, the matrix inversion and integration operations increase the calculation complexity, resulting in a long design time and the complicated adjustment of weight parameters. In addition, a matrix-based conjugate gradient (CG) algorithm has been considered, and this method can effectively solve the problems of large amounts of calculation and weight adjustment in optimal algorithms. However, the focus of these methods is on the design of the filter in the passband range, and they do not consider the transition band or stopband. Therefore, whether the performance of the filters designed by these methods can meet the actual requirements needs to be further investigated.

In this disclosure, a resampling algorithm based on window function is described, which can realize arbitrary sampling rate conversion and adjust the filter characteristics according to the demand. According to the resampling model based on Farrow structure, the change principles of the filter characteristics are investigated, namely the larger the filter order, the shorter the frequency band in the spectrum, and the design criterion that requires the stopband cutoff frequency of the filter in the resampling model less than π is described. Then a method based on window function is described to obtain multiple fractional delay filter coefficients, subfilter coefficients matrix is solved by least square method, and the characteristics of window spectrum are described. Simulation results show that resampling based on the presented method can achieve arbitrary sampling rate conversion, and resampling satisfies the Nyquist theorem.

II. Characteristic Analysis of Resampling Based on Farrow Structure

A. Principle of Resampling Based on Farrow Structure

The process of arbitrary sampling rate conversion can be viewed as first reconstructing the original signal with the sampling points, then resampling the reconstructed signal at the required time and sampling rate. FIG. 1 shows a flowchart for arbitrary sampling rate conversion.

The expression of resampling sample y(kT_(r)) is

$\begin{matrix} {{{y\left( {kT_{r}} \right)} = {\sum\limits_{m = {- \infty}}^{\infty}{{x\left( {mT_{s}} \right)}{h_{a}\left( {{kT_{r}} - {mT_{s}}} \right)}}}},} & (1) \end{matrix}$ where k is the number of resampling sequence, T_(r) is the resampling cycle, m is the number of sampling sequence, T_(s) is the sampling cycle, x(mT_(s)) is the sampling sequence, h_(a)(t) is the impulse response of the ideal analog low-pass filter, and h_(a)(kT_(r)−mT_(s)) represents the sample of h_(a)(t). Hence, the resampling result (1) can be considered the convolution of x(mT_(s)) with the impulse response h_(d)(m) of digital filter.

To ensure that frequency aliasing does not occur during resampling, the frequency responses H_(d)(ω) of the digital filter h_(d)(m) should be

$\begin{matrix} {{H_{d}(\omega)} = \left\{ \begin{matrix} {1,} & {{{\omega } < {f_{r}/2}},} \\ {0,} & {{{\omega } \geq {f_{r}/2}},} \end{matrix} \right.} & (2) \end{matrix}$ where ω is the normalized angular frequency and f_(r) is the resampling frequency. However, it is impossible to realize the impulse response h_(a)(t) of the ideal analog low-pass filter in practical applications.

Simple piecewise polynomials are generally used instead of the impulse response h_(a)(t). Given the degree I of the polynomial and the length Δ, h_(a)(t) can be divided into equal-length piecewise polynomials

$\begin{matrix} {{{h_{a}(t)} = {\sum\limits_{n = 0}^{N - 1}{a_{n}\left( {t - {n\Delta}} \right)}}},{0 \leq t \leq {N\;\Delta}},} & (3) \end{matrix}$ where N is the number of polynomials and a_(n)(t) is the n-th segment polynomial. a_(n)(t) is expressed as

$\begin{matrix} {{a_{n}(t)} = \left\{ \begin{matrix} {{{\sum\limits_{i = 0}^{I}{{c\left( {n,i} \right)}\left( {\frac{t}{\Delta} - {0{.5}}} \right)^{i}}},}\ } & {{0 \leq t \leq \Delta},} \\ {{0,}\ } & {{{else}\mspace{14mu} t},} \end{matrix} \right.} & (4) \end{matrix}$ where c(n,i) is the i-th coefficient of the n-th segment polynomial, and t/Δ−0.5 is the polynomial variable with a range of [−0.5, 0.5]. After taking n=[t/Δ], and substituting (4) into (3),

$\begin{matrix} {{{h_{a}(t)} = {\overset{I}{\sum\limits_{i = 0}}{{c\left( {\left\lbrack \frac{t}{\Delta} \right\rbrack,i} \right)}\left( {\frac{t}{\Delta} - \left\lbrack \frac{t}{\Delta} \right\rbrack - {0.5}} \right)^{i}}}},{0 \leq t \leq {N\;\Delta}},} & (5) \end{matrix}$ where [⋅] indicates the largest integer not exceeding (⋅). Equation (5) is the expression of replacing h_(a)(t) with piecewise polynomials.

After substituting (5) into (1) and taking Δ=T_(s), the expression becomes

$\begin{matrix} \begin{matrix} {{y\left( {kT_{r}} \right)} = {\sum\limits_{m = {- \infty}}^{\infty}{\sum\limits_{i = 0}^{I}{{x\left( {mT_{s}} \right)}{c\left( {\left\lbrack \frac{{kT_{r}} - {mT_{s}}}{T_{s}} \right\rbrack,i} \right)}\left( {\frac{kT_{r}}{T_{s}} - \left\lbrack \frac{kT_{r}}{T_{s}} \right\rbrack - {0{.5}}} \right)^{i}}}}} \\ {{= {\sum\limits_{m = {- \infty}}^{\infty}{\sum\limits_{i = 0}^{I}{{x\left( {mT_{s}} \right)}{c\left( {\left\lbrack \frac{{kT_{r}} - {mT_{s}}}{T_{s}} \right\rbrack,i} \right)}\left( p_{k} \right)^{i}}}}},} \end{matrix} & (6) \end{matrix}$ where p_(k) is the delay between the input sample and the output sample. As p_(k) has nothing to do with m, (6) can be simplified to

$\begin{matrix} {{{\gamma\left( {kT}_{r} \right)} = {\sum\limits_{i = 0}^{I}{{{\overset{\sim}{x}}_{i}\left( {mT}_{r} \right)}\left( p_{k} \right)^{i}}}},} & (7) \end{matrix}$ where {tilde over (x)}_(i)(mT_(r)) is the representation of the sum of x(mT_(s)) and c([kT_(r)−mT_(s))/T_(s),i]). Equation (7) can be implemented by the Farrow structure.

After substituting (5) into (1) and taking Δ=T_(r), the expression becomes

$\begin{matrix} \begin{matrix} {{y\left( {kT}_{r} \right)} = {\sum\limits_{m = {- \infty}}^{\infty}{\sum\limits_{i = 0}^{I}{{x\left( {mT_{s}} \right)}{c\left( {\left\lbrack \frac{{kT}_{r} - {mT_{s}}}{T_{r}} \right\rbrack,i} \right)}\left( {{- \frac{mT_{s}}{T_{r}}} - \left\lbrack {- \frac{mT_{s}}{T_{r}}} \right\rbrack - 0.5} \right)^{i}}}}} \\ {= {\sum\limits_{m = {- \infty}}^{\infty}{\sum\limits_{i = 0}^{I}{{x\left( {mT_{s}} \right)}{c\left( {\left\lbrack \frac{{kT}_{r} - {mT_{s}}}{T_{s}} \right\rbrack,i} \right)}{\left( p_{m} \right)^{i}.}}}}} \end{matrix} & (8) \end{matrix}$

As p_(m) is associated with m, (8) can be simplified to

$\begin{matrix} {{{y\left( {kT_{r}} \right)} = {\sum\limits_{m = {- \infty}}^{\infty}{\sum\limits_{i = 0}^{I}{{{\overset{\hat{}}{x}}_{i}\left( {mT_{s}} \right)}{c\left( {\left\lbrack \frac{{kT_{r}} - {mT_{s}}}{T_{r}} \right\rbrack,i} \right)}}}}},} & (9) \end{matrix}$ where {tilde over (x)}_(i)(mT_(s)) is the representation of the sum of x(mT_(s)) and p_(m) ^(i). Equation (9) can be implemented by the Transposed Farrow structure. Equations (6) and (8) can both be denoted as the resampling model based on Farrow structure. Because the segment length is different, the filter in (6) has better de-mirror properties, and (6) is suitable for interpolation. The filter in (8) has relatively better de-aliasing properties, and (8) is suitable for decimation. In Farrow structure, c(n,i) are called the subfilter coefficients.

Because there are delay variables p_(k) and p_(m) in (6) and (8), the group delay responses of the filter in the resampling model can be changed with adjustable delay.

In resampling models (6) and (8), the key is to determine the subfilter coefficients c(n,i). Additionally, to ensure that resampling meets the Nyquist theorem, the digital filtering fitted by c(n,i) is required to filter out signals above f_(r)/2.

B. Frequency Responses Analysis of the Filter in Resampling Model

Because the resampling model must have the function of arbitrary sampling rate conversion, the frequency responses of the filter in the model should change with the resampling frequency f_(r) as shown in (2).

Because (3) specifies the range of t in h_(d)(t), the range of m in (1) is specified correspondingly as 0≤kT _(r) −mT _(s) ≤NΔ,  (10) and the following can be obtained:

$\begin{matrix} {{\frac{{kT}_{r} - {N\;\Delta}}{T_{s}} \leq m \leq \frac{{kT}_{r}}{T_{s}}}.} & (11) \end{matrix}$

As m is an integer, the order K of the digital filter is determined as K=[NΔ/T _(s)]−1.  (12)

When Δ=T_(s), K is a fixed value. Equation (6) is suitable for interpolation, that is, the case in which T_(s)≥T_(r). If the digital filter satisfies (2) when T_(s)=T_(r), then resampling can satisfy the Nyquist theorem when T_(s)>T_(r).

When Δ=T_(r), K varies with T_(r)/T_(s). Equation (8) is suitable for decimation, that is, the case in which T_(s)≤T_(r). If T_(s) is specified as a fixed value, then the frequency responses of the filter need to change with T_(r) to satisfy (2). Therefore, the frequency responses of the filter in (8) are analyzed as follows.

According to (5), h_(p)(n) is defined as the impulse response of the digital filter corresponding to h_(a)(t). h_(p)(n) can be simply expressed as

$\begin{matrix} {{{h_{p}(n)} = {\sum\limits_{i = 0}^{I}{{c\left( {n,i} \right)}p^{i}}}},{{{- 0.}5} \leq p \leq {0.5.}}} & (13) \end{matrix}$

Because the group delay responses of h_(p)(h) vary with delay p, (13) represents the impulse response of variable fractional delay (VFD) filter. When p is fixed, h_(p)(n) is the impulse response of a fractional delay (FD) filter.

Equation (1) shows that h_(p)(h) can be regarded as the result of sampling h_(a)(t). Take the sampling period as T₁, then h _(p)(n)=h _(a)(t)|_(t=nT) ₁ .  (14)

To determine the relationship between h_(p)(n) and h_(a)(t) in the frequency domain, an ideal sample signal h_(a)′(t) is introduced. The expression of h_(a)′(t) is

$\begin{matrix} {{{h_{a}^{\prime}(t)} = {\sum\limits_{n = {- \infty}}^{\infty}{{h_{a}(t)}{\delta\left( {t - {nT_{1}}} \right)}}}},} & (15) \end{matrix}$ where δ(t) is the impulse function. Take the Fourier transforms corresponding to h_(a)(t), h_(p)(n), and h_(a)′(t) as H_(a)(Ω), H_(p)(ω) and H_(a)′(Ω), there are

$\begin{matrix} {{{H_{p}(\omega)} = {\sum\limits_{n = {- \infty}}^{\infty}{{h(n)}e^{{- j}\;\omega\; n}}}},} & (16) \end{matrix}$ and

$\begin{matrix} {{{H_{a}^{\prime}(\Omega)} = {{\int_{- \infty}^{\infty}{{h_{a}^{\prime}(t)}e^{{- j}\;\Omega\; t}dt}} = {{\int_{- \infty}^{\infty}{\sum\limits_{n = {- \infty}}^{\infty}{{h_{a}^{\prime}(t)}{\delta\left( {t - {nT_{1}}} \right)}e^{{- j}\;\Omega\; t}{dt}}}} = {{\sum\limits_{n = {- \infty}}^{\infty}{{h_{a}\left( {nT_{1}} \right)}e^{{- j}\;\Omega\; t_{1}n}}} = {\sum\limits_{n = {- \infty}}^{\infty}{{h_{a}\left( {nT_{1}} \right)}e^{{- j}\;\omega\; n}}}}}}},} & (17) \end{matrix}$ where Ω is the analog angular frequency, Ω=ωT₁. Therefore, the relationship between H_(p)(ω) and H_(a)′(Ω) is H _(p)(ω)=H _(a)′(Ω).  (18)

The relationship between H_(a)′(Ω) and H_(a)(Ω) is

$\begin{matrix} {{{H_{a}^{\prime}(\Omega)} = {{\frac{1}{2\pi}\left\lbrack {{{FT}\left\lbrack {h_{a}(t)} \right\rbrack}*F{T\left\lbrack {\delta\left( {t - {nT_{1}}} \right)} \right\rbrack}} \right\rbrack} = {\frac{1}{T_{1}}{\sum\limits_{n = {- \infty}}^{\infty}{H_{a}\left( {\Omega - \frac{2\;\pi\; m}{T_{1}}} \right)}}}}},} & (19) \end{matrix}$ where FT[⋅] is Fourier transform. By combining (18) and (19), the relationship between H_(p)(ω) and H_(a)(Ω) is obtained:

$\begin{matrix} {{H_{p}(\omega)} = {{H_{a}^{\prime}(\Omega)} = {{\frac{1}{T_{1}}{\sum\limits_{n = {- \infty}}^{\infty}{H_{a}\left( {\Omega - \frac{2\pi\; n}{T_{1}}} \right)}}} = {\frac{1}{T_{1}}{\sum\limits_{n = {- \infty}}^{\infty}{{H_{a}\left( \frac{\omega - {2\pi\; n}}{T_{1}} \right)}.}}}}}} & (20) \end{matrix}$

Equation (20) shows that H_(p)(ω) is obtained by expanding H_(a)(Ω) by T₁ times, multiplying it by 1/T₁, and then shifting it by 2πn/T₁.

To reflect the frequency domain characteristics of filters with different orders, another sampling period T₂ (T₂>T₁) is used to sample h_(a)(t) to obtain h_(p)′(n′). Its Fourier transform form is H_(p)′(ω′). According to (20), the expression of H_(p)′(ω′) is

$\begin{matrix} {{H_{p}^{\prime}\left( \omega^{\prime} \right)} = {{\frac{1}{T_{2}}{\sum\limits_{n^{\prime} = {- \infty}}^{\infty}{H_{a}\left( {\Omega - \frac{2\pi\; n^{\prime}}{T_{2}}} \right)}}} = {\frac{1}{T_{2}}{\sum\limits_{n^{\prime} = {- \infty}}^{\infty}{{H_{a}\left( \frac{\omega^{\prime} - {2\pi\; n^{\prime}}}{T_{2}} \right)}.}}}}} & (21) \end{matrix}$ where ω′=ΩT₂. By taking D=T₂/T₁, then ω′=Dω. By contrasting (20) and (21), it can be found that the larger the sampling period, the wider the frequency band.

FIG. 2 shows exemplary results and spectrum of sampling from analog filters. In this example, diagrams of h_(a)(t), h_(p)(n), h_(p)′(n′) and H_(a)(Ω), H_(p)(ω), H_(p)′(ω′) are displayed. FIG. 2 indicates that different resampling period T_(r) further affect the frequency responses of the filter by affecting the filter order; the larger the filter order, the shorter the frequency band in the spectrum.

According to (20) and FIG. 2, H_(p)(ω) is obtained by expanding the spectrum of H_(a)(Ω) with a period of 2π. After specifying that T_(s) is fixed, when T_(s)=T_(r), if the stopband cutoff frequency (ω_(s)) of the digital filter is controlled at ω_(s)<π, resampling satisfy the Nyquist theorem. Then for T_(r)=DT_(s) (D>1), the Nyquist theorem requires ω_(s)<π/D, and the cutoff frequency of the digital filter will be less than RID according to (21). Therefore, resampling can also satisfy the sampling theorem when T_(r)=DT_(s).

Thus, the design criterion requires that in resampling models (6) and (8), the stopband cutoff frequency φ_(s) of the filter should be ω_(s)<π when T_(s)=T_(r), then for cases in which T_(r)≠T_(s), frequency aliasing does not occur in resampling. Therefore, for the determination of the subfilter coefficients c(n,i) in (6) and (8), only the situation in which T_(s)=T_(r) needs to be considered.

III. Resampling Based on Window Function Design

The key to the resampling model is the solution of the subfilter coefficients. In this section, a method based on window function is described to design subfilter coefficients. To ensure the characteristics of the filter, the window function is then discussed.

A. The Solution of Subfilter Coefficients in Farrow Structure

The analysis in the previous section demonstrated that the design of the subfilter coefficients only needs to consider the case in which T_(s)=T_(r) in the resampling model; therefore, the filter order is specified as N. The frequency response corresponding to h_(p)(n) is

$\begin{matrix} {{H_{p}\left( {\omega,p} \right)} = {{\sum\limits_{n = 0}^{N - 1}{{h_{p}(n)}e^{{- j}\;\omega\; n}}} = {\sum\limits_{n = 0}^{N - 1}{\sum\limits_{i = 0}^{I}{{c\left( {n,i} \right)}p^{i}{e^{{- j}\;\omega\; n}.}}}}}} & (22) \end{matrix}$

According to the requirement of (2), the desired variable frequency response is H _(a)(ω,p)=e ^(−jω((N−1)/2+p)), ω∈[0,ππ],  (23) where 0<α<1, [0, απ] is the passband of the filter. The traditional methods for the design of the subfilter coefficients c(n,i) are taking c(n,i) as variable, and taking the difference between H_(p)(ω, p) and H_(d)(ω, p) as the objective function. The objective function is then optimized, and the coefficients are finally solved. Hence, the traditional methods only focus on the difference of the passband without considering the stopband, and there are defects in these methods.

Unlike traditional methods, subfilter coefficients are designed from the perspective of designing fractional delay filter in advance. In this disclosure, the window function method is used to design a fractional delay filter. The expression of designing the impulse response of the linear-phase FIR filter via window function method is h _(l)(n)=h _(d)(n)·w(n), 0≤n≤N−1,  (24) where w(n) is a sequence of the window function of length N, Kaiser window is selected in this disclosure, and h_(d)(n) is the impulse response of the ideal low-pass digital filter. The expression of h_(d)(n) is

$\begin{matrix} {{h_{d}(n)} = \left\{ \begin{matrix} {{\frac{\sin\left\lbrack {\omega_{c}\left( {n - \tau} \right)} \right\rbrack}{\pi\left( {n - \tau} \right)},}\ } & {{n \neq \tau},} \\ {\frac{\omega_{c}}{\pi},} & {{n = \tau},} \end{matrix} \right.} & (25) \end{matrix}$ where τ and ω_(c) are the group delay and the cutoff frequency of the ideal low-pass digital filter. The relationship between ω_(c), the passband cutoff frequency ω_(p) and the stopband cutoff frequency ω_(s) of the designed filter is ω_(c)=(ω_(p)+ω_(s))/2  (26)

Thus, ω_(c) can indirectly determine cos. The group delay z of the filter obtained by (24) which can be considered a fractional delay filter without delay, is (N−1)/2. To determine the impulse response h_(p)(n) of the fractional delay filter, the sequence n is shifted by −p. Equation (24) then becomes h _(p)(n)=h _(d)(n−p)·w(n−p), 0≤n≤N−1.  (27)

Equation (27) can be seen as the group delay τ of h_(l)(n) shifted by p. Therefore, the group delay of the obtained fractional delay filter is τ+p, and h_(p)(n) is the impulse response of a fractional delay filter with a delay of p. The fractional delay filter obtained by window function method can be regarded as a result in which the magnitude responses of the FIR linear phase filter are unchanged, but the group delay responses are shifted.

Because the fractional delay filter can be designed in advance, it is much easier to design the subfilter coefficients c(n,i). In the interval [−0.5,0.5], take multiple values as p as follows: p=−0.5+bδ −0.5≤p≤0.5,  (28) where δ is an interval and b is an integer. Substitute p into (27) to obtain multiple fractional delay filter coefficients. A fractional delay filter coefficients matrix can then be constructed:

$\begin{matrix} {{\begin{bmatrix} h_{p1} \\ h_{p\; 2} \\ \vdots \\ h_{pk} \end{bmatrix} = \begin{bmatrix} {h_{p1}(0)} & {h_{p1}(1)} & \ldots & {h_{p1}\left( {N - 1} \right)} \\ {h_{p\; 2}(0)} & {h_{p\; 2}(1)} & \ldots & {h_{p\; 2}\left( {N - 1} \right)} \\ \vdots & \; & \; & \; \\ {h_{pk}(0)} & {h_{pk}(1)} & \ldots & {h_{pk}\left( {N - 1} \right)} \end{bmatrix}},} & (29) \end{matrix}$ where h_(p) _(k) is the filter coefficients whose delay is p_(k). h_(p) _(k) =[h_(p) _(k) (0), h_(p) _(k) (1), . . . , h_(p) _(k) (N−1)]. By combining (29) and (13), the coefficients matrix can be expressed in polynomial form:

$\begin{matrix} {\begin{bmatrix} h_{p\; 1} \\ h_{p2} \\ \vdots \\ h_{pk} \end{bmatrix} = {{\begin{bmatrix} p_{1} & p_{1}^{2} & \ldots & p_{1}^{I} \\ p_{2} & p_{2}^{2} & \ldots & p_{2}^{I} \\ \vdots & \vdots & \; & \vdots \\ p_{k} & p_{k}^{2} & \ldots & p_{k}^{I} \end{bmatrix}\begin{bmatrix} c_{11} & c_{12} & \ldots & c_{1N} \\ c_{21} & c_{22} & \ldots & c_{1N} \\ \vdots & \vdots & \; & \vdots \\ c_{I\; 1} & c_{I\; 2} & \ldots & c_{IN} \end{bmatrix}}.}} & (30) \end{matrix}$

Then (30) can be simply to be H=P

C.  (31)

Equation (31) can then be used to solve C by least square method as follows: C=(P ^(T) P)⁻¹ P ^(T) H.  (32)

By substituting the transpose of the solution result CT into (6) or (8), the entire model can be completely established.

B. The Window Function Selection

Equation (27) shows that, during the process of designing h_(p)(n), the window function w(n) can be adjusted to change h_(p)(n). The window function can determine the difference between (22) and (23), and adjust the stopband attenuation of the designed filter. Therefore, the anti-aliasing effect of the designed filter is affected by the window function.

Different window functions have different truncation effects. Taking the Hanning and Blackman window as an example, there will be a slightly large leakage factor when truncating; thus, it is difficult to ensure the passband stability of the designed filter. As Kaiser window can adjust its frequency responses by modifying its parameters, Kaiser window with strong adaptability for design is selected in this disclosure.

The expression of the Kaiser window in the time domain is

$\begin{matrix} {{{w(n)} = \frac{I_{0}\left( {\beta\sqrt{1 - \left( {1 - \frac{2n}{N - 1}} \right)^{2}}} \right)}{I_{0}(\beta)}},} & (33) \end{matrix}$ where I₀(⋅) is the zeroth-order modified Bessel function and β is an optional parameter. I₀(⋅) can be computed as

$\begin{matrix} {{{I_{0}(x)} = {\sum\limits_{k = 0}^{\infty}\left\lbrack {\frac{1}{k!}\left( \frac{x}{2} \right)^{k}} \right\rbrack^{2}}},} & (34) \end{matrix}$

This infinite series is usually approximated by the sum of the first 25 terms. In (33), the characteristics of Kaiser window are different for different β, and β can be determined by the desired stopband attenuation A_(s).

$\begin{matrix} {\beta = \left\{ \begin{matrix} {0.1102\left( {A_{s} - 8.7} \right)} & {A_{s} \geq {50\mspace{14mu}{dB}}} \\ \begin{matrix} {{0.5584\left( {A_{s} - 2.1} \right)^{0.4}} +} \\ {{0.07886\left( {A_{s} - 21} \right)},} \end{matrix} & {{50\mspace{14mu}{dB}} > A_{s} > {21\mspace{14mu}{dB}}} \\ {0,} & {A_{s} \leq {21\mspace{14mu}{{dB}.}}} \end{matrix} \right.} & (35) \end{matrix}$

Given A_(s) and the order of Kaiser window N, the transition bandwidth of the filter Δω can be calculated as

$\begin{matrix} {{{\Delta\omega} = \frac{{{7.9}5} - A_{s}}{{2.2}85\left( {N - 1} \right)}},} & (36) \end{matrix}$

Taking N=67 as an example, the leakage factor, relative sidelobe attenuation and mainlobe width of Kaiser window spectrum for different β are calculated, and the results are exhibited in Table I.

TABLE I KAISER WINDOW CHARACTERISTICS FOR DIFFERENT PARAMETERS Leakage Factor Relative sidelobe Mainlobe β (%) attenuation (dB) width (π) 1 6.61 −14.7 0.025 5 0.02 −37.2 0.039 10 0.00 −74.1 0.053 15 0.00 −113.8 0.063 20 0.00 −155.1 0.072

It can be found that when β is small, there will be leakage factors in the window spectrum. The larger the β, the larger the sidelobe attenuation and mainlobe width of the window spectrum. When β is sufficiently large, the passband of the designed filter becomes narrower. Thus, Kaiser window can design different frequency responses according to the required stopband attenuation and transition bandwidth.

C. Exemplary Flowchart

FIG. 3 shows the flowchart of an exemplary resampling algorithm based on window function. In this example, the presented method is simple in operation and the matrix operation is only reflected in least square method.

In step 310, a fractional delay filter design model based on window function is established. In particular, the expression of designing the impulse response of the linear-phase FIR filter via window function method is h _(l)(n)=h _(d)(n)·w(n), 0≤n≤N−1,  (37) where w(n) is a sequence of the window function of length N, Kaiser window is selected in this disclosure, and h_(d)(n) is the impulse response of the ideal low-pass digital filter. The expression of h_(d)(n) is

$\begin{matrix} {{h_{d}(n)} = \left\{ \begin{matrix} {{\frac{\sin\left\lbrack {\omega_{c}\left( {n - \tau} \right)} \right\rbrack}{\pi\left( {n - \tau} \right)},}\ } & {{n \neq \tau},} \\ \frac{\omega_{c}}{\pi} & {{n = \tau},} \end{matrix} \right.} & (38) \end{matrix}$ where τ and ω_(c) are the group delay and the cutoff frequency of the ideal low-pass digital filter. The relationship between ω_(c), the passband cutoff frequency ω_(p) and the stopband cutoff frequency ω_(s) of the designed filter is ω_(c)=(ω_(p)+ω_(s))/2.  (39)

Thus, ω_(c) can indirectly determine ω_(s). The group delay τ of the filter obtained by (24) which can be considered a fractional delay filter without delay, is (N−1)/2. To determine the impulse response h_(p)(n) of the fractional delay filter, the sequence n is shifted by −p. Equation (24) then becomes h _(p)(n)=h _(d)(n−p)·w(n−p), 0≤n≤N−1.  (40) Equation (27) can be seen as the group delay τ of h_(l)(n) shifted by p. Therefore, the group delay of the obtained fractional delay filter is τ+p, and h_(p)(n) is the impulse response of a fractional delay filter with a delay of p.

In step 320, according to the model, fractional delay filter coefficients with different group delay responses are designed, and a filter coefficients matrix is established. In particular, because the fractional delay filter can be designed in advance, it is much easier to design the subfilter coefficients c(n,i). In the interval [−0.5,0.5], take multiple values asp as follows: p=−0.5+bδ −0.55≤p≤0.5,  (41) where δ is an interval and b is an integer. Substitute p into (27) to obtain multiple fractional delay filter coefficients. A fractional delay filter coefficients matrix can then be constructed:

$\begin{matrix} {{\begin{bmatrix} h_{p1} \\ h_{p2} \\ \vdots \\ h_{pk} \end{bmatrix} = \begin{bmatrix} {h_{p1}(0)} & {h_{p1}(1)} & \ldots & {h_{p1}\left( {N - 1} \right)} \\ {h_{p2}(0)} & {h_{p2}(1)} & \ldots & {h_{p2}\left( {N - 1} \right)} \\ \vdots & \; & \; & \; \\ {h_{pk}(0)} & {h_{pk}(1)} & \ldots & {h_{pk}\left( {N - 1} \right)} \end{bmatrix}},} & (42) \end{matrix}$ where h_(p) _(k) is the filter coefficients whose delay is p_(k). h_(p) _(k) =[h_(p) _(k) (0), h_(p) _(k) (1), . . . , h_(p) _(k) (N−1)].

Next, in step 330, the polynomial form of the filter coefficients matrix is established, and subfilter coefficients are solved by least square method. In particular, by combining (29) and (13), the coefficients matrix can be expressed in polynomial form:

$\begin{matrix} {\begin{bmatrix} h_{p1} \\ h_{p2} \\ \vdots \\ h_{pk} \end{bmatrix} = {{\begin{bmatrix} p_{1} & p_{1}^{2} & \ldots & p_{1}^{I} \\ p_{2} & p_{2}^{2} & \ldots & p_{2}^{I} \\ \vdots & \vdots & \; & \vdots \\ p_{k} & p_{k}^{2} & \ldots & p_{k}^{I} \end{bmatrix}\begin{bmatrix} c_{11} & c_{12} & \ldots & c_{1N} \\ c_{21} & c_{22} & \ldots & c_{1N} \\ \vdots & \vdots & \; & \vdots \\ c_{I\; 1} & c_{I\; 2} & \ldots & c_{IN} \end{bmatrix}}.}} & (43) \end{matrix}$

Then (30) can be simply to be H=P□C.  (44)

Equation (31) can then be used to solve C by least square method as follows: C=(P ^(T) P)⁻¹ P ^(T) H.  (45) The solution will provide the values for the coefficient matrix.

Next, in step 340, the coefficients solved in step 330 can be used to complete the resampling model. In particular, the coefficients can be substituted in equations (6) or (8). Equation (6) is:

$\begin{matrix} \begin{matrix} {{y\left( {kT_{r}} \right)} = {\sum\limits_{m = {- \infty}}^{\infty}{\sum\limits_{i = 0}^{I}{{x\left( {mT_{s}} \right)}{c\left( {\left\lbrack \frac{{kT_{r}} - {mT_{s}}}{T_{s}} \right\rbrack,i} \right)}\left( {\frac{kT_{r}}{T_{s}} - \left\lbrack \frac{kT_{r}}{T_{s}} \right\rbrack - {0{.5}}} \right)^{i}}}}} \\ {{= {\sum\limits_{m = {- \infty}}^{\infty}{\sum\limits_{i = 0}^{I}{{x\left( {mT_{s}} \right)}{c\left( {\left\lbrack \frac{{kT_{r}} - {mT_{s}}}{T_{s}} \right\rbrack,i} \right)}\left( p_{k} \right)^{i}}}}},} \end{matrix} & (46) \end{matrix}$ where p_(k) is the delay between the input sample and the output sample. As p_(k) has nothing to do with m, (6) can be simplified to

$\begin{matrix} {{{y\left( {kT}_{r} \right)} = {\sum\limits_{i = 0}^{I}{{{\overset{\sim}{x}}_{i}\left( {mT}_{r} \right)}\left( p_{k} \right)^{i}}}},} & (47) \end{matrix}$ where {tilde over (x)}_(i)(mT_(r)) is the representation of the sum of x(mT_(s)) and c([kT_(r)−mT_(s))/T_(s),i]). Equation (7) can be implemented by the Farrow structure.

Equation (8) is:

$\begin{matrix} \begin{matrix} {{y\left( {kT_{r}} \right)} = {\sum\limits_{m = {- \infty}}^{\infty}{\sum\limits_{i = 0}^{I}{{x\left( {mT_{s}} \right)}{c\left( {\left\lbrack \frac{{kT_{r}} - {mT_{s}}}{T_{r}} \right\rbrack,i} \right)}\left( {{- \frac{{mT}_{s}}{T_{r}}} - \left\lbrack {- \frac{{mT}_{s}}{T_{r}}} \right\rbrack - {0{.5}}} \right)^{i}}}}} \\ {= {\sum\limits_{m = {- \infty}}^{\infty}{\sum\limits_{i = 0}^{I}{{x\left( {mT_{s}} \right)}{c\left( {\left\lbrack \frac{{kT_{r}} - {mT_{s}}}{T_{r}} \right\rbrack,i} \right)}{\left( p_{m} \right)^{i}.}}}}} \end{matrix} & (48) \end{matrix}$

As p_(m) is associated with m, (8) can be simplified to

$\begin{matrix} {{{y\left( {kT_{r}} \right)} = {\sum\limits_{m = {- \infty}}^{\infty}{\sum\limits_{i = 0}^{I}{{{\overset{\hat{}}{x}}_{i}\left( {mT_{s}} \right)}{c\left( {\left\lbrack \frac{{kT_{r}} - {mT_{s}}}{T_{r}} \right\rbrack,i} \right)}}}}},} & (49) \end{matrix}$ where {tilde over (x)}_(i)(mT_(s)) is the representation of the sum of x(mT_(s)) and p_(m)′. Equation (9) can be implemented by the Transposed Farrow structure. Equations (6) and (8) can both be denoted as the resampling model based on Farrow structure.

Next, the resampling algorithm based on window function can be used by a broadband frequency measurement device to realize different sampling rate conversions, and provide conditions for the measurement of different frequency components. In addition, the proposed algorithm can flexibly adjust the cutoff frequency of the filter and the window function parameter to prevent interference components in the signals.

IV. Simulation and Application

A. Comparison with Existing Optimal Design Methods without Considering Frequency Aliasing

Because the characteristics of the filter reflect the applicability of resampling, the VFD filter is designed in this example to reflect the design effect of the presented algorithm. Additionally, the presented algorithm is compared with other algorithms under the same conditions. One such algorithm is called WLS and another is called CG. The parameters are set as N=67, I=7, α=0.9π, β=10.5, ω_(c)=π and δ=0.05. To evaluate the accuracy of the designed VFD filter, some evaluation criteria need to be defined.

(1) The Normalized Error:

$\begin{matrix} {{ɛ_{2} = {\left( \frac{\int_{0}^{\alpha\pi}{\int_{- 0.5}^{0.5}{{{{H_{p}\left( {\omega,p} \right)} - {H_{d}\left( {\omega,p} \right)}}}^{2}dpd\omega}}}{\int_{0}^{\alpha\pi}{\int_{- 0.5}^{0.5}{{{H_{d}\left( {\omega,p} \right)}}^{2}dpd\omega}}} \right)^{0.5} \times 100\%}},} & (50) \end{matrix}$ ε₂ reflects the overall magnitude error of the filter passband.

(2) The Maximum Magnitude Error: ε_(∞)=20 log₁₀(max {|H _(p)(ω,p)−H _(d)(ω,p)|,ω∈[0,απ],p∈[−0.5,0.5]}),  (51) ε_(∞) reflects the maximum magnitude error of the filter passband. (3) The Maximum Group-Delay Error: ε_(g)=max {|τ(ω,p)−p|,ω∈[0,απ],p∈[−0.5,0.5]},  (52) where p is the group delay of the desired VFD filter and ε_(g) reflects the maximum group delay error of the filter passband. Simulation tests based on the evaluation criteria are performed, and the design results of three methods are presented in Table II.

TABLE II COMPARISON BETWEEN ALGORITHMS Method ε₂(%) ε_(∞)(dB) ε_(g) WLS 2.39 × 10⁻⁴ −99.20 8.90 × 10⁻⁴ CG 2.52 × 10⁻⁴ −101.54 1.36 × 10⁻³ Proposed 2.25 × 10⁻⁴ −97.00 2.15 × 10⁻³

As can be seen from Table II, compared with other methods, the overall magnitude error ε₂ of the presented method is smaller, but the maximum errors ε_(∞) and ε_(g) are larger. FIG. 4 shows the magnitude error of an exemplary VFD filter. FIG. 5 shows the group delay error of an exemplary VFD filter.

It is evident from FIGS. 4 and 5 that the designed filter characteristics are good in the low and middle-frequency bands, and the maximum magnitude and group delay error both appear at frequency ω=0.9π. Because the maximum magnitude error of the designed filter is −97 dB, the error is close to −100 dB and acceptable. Thus, the method proposed in this paper can be used to design a filter with good performance.

When the designed filter is used in resampling model, it can only be used in the case in which T_(s)=T_(r). To reflect the filter characteristics of the resampling model for other T_(r), take T_(r)=2×T_(s) and according to (12), the filter order becomes 135. FIG. 6 shows the magnitude responses of the corresponding exemplary VFD filter. In FIG. 6, Tr=2×Ts.

It can be seen from FIG. 6 that the passband range of the filter is halved to [0,0.45π]. However, the magnitude is −6.021 dB when ω=0.5π, and the stopband cutoff frequency φ_(s) is around 0.55π; therefore, the filter cannot effectively suppress signals with frequency around 0.5π. It can be concluded that resampling by the designed filter in this example cannot satisfy the Nyquist theorem, because the cutoff frequency we is slightly too large.

B. Comparison with Existing Optimal Design Methods Considering Frequency Aliasing

Because resampling in example A cannot satisfy the sampling theorem due to the high cutoff frequency, the passband and cutoff frequency of the filter are adjusted in this example, and the VFD filter is redesigned by three algorithms.

In this exemplary simulation, the parameters are set as N=67, I=7, α=0.9π, β=15, ω_(c)=0.85π and δ=0.05. To reflect the filter stopband attenuation effect, a new evaluation criterion is defined: ε_(s)=max {20 log₁₀(|H(π,p)|,p∈[−0.5,0.5])},  (53) ε_(s) reflects the suppression effect of the designed filter on signals near ω=π. The comparison results based on the evaluation criteria are presented in Table III.

TABLE III COMPARISON BETWEEN ALGORITHMS Method ε₂(%) ε_(∞)(dB) ε_(g) ε_(s)(dB) WLS  *  *  *  * CG 6.50 × 10⁻⁶ −124.00 3.30 × 10⁻⁵ −13.31 Proposed 6.14 × 10⁻⁶ −124.69 1.78 × 10⁻⁶ −153.61 *Fails to converge

The simulation results demonstrate that the method based on WLS cannot design the required filter. The reason for this is that when the passband is narrow, the error between the designed filter and the ideal filter is large, resulting in the failure to converge.

By comparing the four evaluation criteria, it can be found that the characteristics of the VFD filter designed by the proposed method are obviously better than those of the filter designed by CG method. ε_(s) reveals that CG method cannot effectively suppress signals around ω=π. In comparison, the proposed method can effectively control the stopband of the filter and adjust it according to the requirements. FIG. 7 shows the magnitude error of the designed exemplary VFD filter. FIG. 8 shows the group delay error of the designed exemplary VFD filter.

As can be seen from FIGS. 7 and 8, the VFD filter designed by the presented method has a stable error in the passband, and the group delay error is maintained in the order of 10⁻⁶. The maximum magnitude and group delay error both appear at frequency ω=0.7π, and the maximum magnitude error of the designed filter is −124.69 dB, which demonstrates that the magnitude error in passband is very small.

FIG. 9 shows the magnitude responses of the exemplary VFD filter when T_(r)=2×T_(s). Like in example A, this reflects the filter characteristics of the resampling model for other T_(r).

It can be seen from FIG. 9 that the passband range of the filter is halved to [0,0.35π] and the stopband cutoff frequency is around ω=0.5π where the magnitude is about −159.6 dB. Thus, in this example, the designed filter can filter out signals above 0.5π, and resampling can satisfy the Nyquist theorem when T_(r)=2×T_(s).

Therefore, it can be concluded that the proposed method is more adaptable than the traditional optimal method, and the method can flexibly adjust Kaiser window parameter β and cutoff frequency ω_(c) to meet the needs of practical applications.

C. Signal Processing with Resampling Model

To verify the effect of the resampling algorithm when applied to the broadband frequency measurement device, this example applies the designed subfilter coefficients in example B to resampling model (8), uses (8) to resample the signal at different sampling rates, and then analyzes the resampling results.

The original signal with harmonic and inter-harmonic components is considered, let x(t)=√{square root over (2)}[57.73 cos(100πt)+5.773[cos(200πt)+cos(6190πt)]].  (54)

For the original signal x(t), sampling is performed at the sampling rate of f_(s)=50 kHz. The sampling rate is then converted to f_(r), the resampling values are output by the resampling model, and the amplitudes of different frequency signals are finally analyzed by Fast Fourier Transform. The results are exhibited in Table IV.

TABLE IV RESULTS OF THE RESAMPLING ALGORITHM AT DIFFERENT SAMPLING RATES 50 Hz 100 Hz 2905 Hz 3095 Hz ƒ_(r) Method (V) (V) (V) (V) 50 CG 57.73 5.773 0 5.773 kHz Proposed 57.73 5.773 0 5.773 10 CG 57.73 5.773 0 5.773 kHz Proposed 57.73 5.773 0 5.773  6 CG 57.73 5.773 0.059 / kHz Proposed 57.73 5.773 1.6 × 10⁻¹⁰ /

As presented in Table IV, when f_(r)=6 kHz, signals of −2905 Hz and 2905 Hz exist simultaneously in the design results by CG method, resulting in some interference signals after resampling. Compared with CG method, the presented method can effectively suppress the signals around 3000 Hz and prevent the appearance of interference signals. Additionally, the resampling model does not affect the low-frequency signals far away from f_(r)/2, and the filter in the model suppresses the signals near f_(r)/2.

It is also necessary to verify that the resampling has the function of eliminating the deviation of the non-synchronous sampling to achieve synchronous sampling. This example uses the resampling model (8) to sample signals with different delays, and the results are then analyzed.

The original signal with harmonics and delay is considered, let

$\begin{matrix} {{x(t)} = {\sqrt{2}\left\lbrack {{{5{7.7}3{\cos\left( {100{\pi\left( {t - {\left( {33.5 + p} \right)/f_{s}}} \right)}} \right)}} + \left. \quad{5.773\left\lbrack {{\cos\left( {500{\pi\left( {t - {\left( {33.5 + p} \right)/f_{s}}} \right)}} \right)} + {\cos\left( {5000{\pi\left( {t - {\left( {33.5 + p} \right)/f_{s}}} \right)}} \right)}} \right\rbrack} \right\rbrack},} \right.}} & (55) \end{matrix}$ where t−33.5−p is considered the group delay of the fractional delay filter. For the original signal x(t), sampling is performed at the sampling rate of f_(s)=f_(r)=50 kHz, and the initial phase angles of different frequency signals in the resampling results are analyzed by Fast Fourier Transform. In addition, the indicator pa is used to reflect the phase angle deviation caused by the lack of compensation for p, and the indicators p_(c) and p_(w) respectively represent the phase angle error compensated by the resampling models of CG algorithm and the proposed algorithm. The results are presented in Table V.

TABLE V SAMPLING RESULTS OF THE RESAMPLING ALGORITHM AT DIFFERENT DELAYS Phase angle 50 Hz 250 Hz 2500 Hz p error (°) (°) (°) −0.5 p_(d) 0.18 0.9 9 p_(c)   3.4 × 10⁻⁷   1.4 × 10⁻⁶ −1.4 × 10⁻⁶ p_(w) −1.1 × 10⁻⁸ −4.8 × 10⁻⁸   4.5 × 10⁻⁸ −0.3 p_(d) 0.108 0.54 5.4 p_(c) −2.1 × 10⁻⁸ −8.5 × 10⁻⁸   6.0 × 10⁻⁸ p_(w) −5.7 × 10⁻⁸ −2.4 × 10⁻⁷   2.7 × 10⁻⁷ 0 p_(d) 0 0 0 p_(c)  −6.1 × 10⁻¹⁰ −6.8 × 10⁻⁹  −6.5 × 10⁻¹⁰ p_(w)  −6.1 × 10⁻¹⁰  −6.8 × 10⁻¹⁰  −6.5 × 10⁻¹⁰ 0.2 p_(d) −0.072 −0.36 −3.6 p_(c)   1.7 × 10⁻⁸   6.1 × 10⁻⁸ −5.6 × 10⁻⁸ p_(w)   4.9 × 10⁻⁸   2.0 × 10⁻⁷ −2.3 × 10⁻⁷ 0.5 p_(d) −0.18 −0.9 −9 p_(c) −3.4 × 10⁻⁷ −1.4 × 10⁻⁶   1.4 × 10⁻⁶ p_(w) −9.5 × 10⁻⁹   3.5 × 10⁻⁸ −4.6 × 10⁻⁸

The results in Table V demonstrate that the resampling model can compensate for different delays p. In contrast, the compensation effects of the two methods are similar.

Therefore, the method proposed in this disclosure has sound results in signal processing, and its function meets the conditions for application in broadband frequency measurement device.

V. Conclusion

This disclosure describes a resampling algorithm based on window function, that can provide conditions for different sampling rates required by existing measurement equipment to measure different component signals. The frequency responses of the filter in resampling model are revealed, and the design conditions of the filter are specified. Then a fractional delay filter design model based on window function is established. According to the model, fractional delay filter coefficients with different group delay responses are designed, and a filter coefficients matrix is established. The polynomial form of the filter coefficients matrix is established, and subfilter coefficients are solved by least square method. As verified by simulation tests, the proposed method can flexibly adjust the cutoff frequency of the filter and the window function parameter to prevent frequency aliasing. When the filter passband requirement is small, the presented method has a better effect than the existing methods. In addition, the presented algorithm can meet the requirements for sampling rate conversion and delay compensation, and can be applied to broadband frequency measurement devices.

Technical Implementation of the Server

FIG. 10 illustrates exemplary hardware components of a server. A computer system 1000, or other computer systems similarly configured, may include and execute one or more subsystem components to perform functions described herein, including the steps of various flow processes described above. Likewise, a mobile device, a cell phone, a smartphone, a laptop, a desktop, a notebook, a tablet, a wearable device, a server, etc., which includes some of the same components of the computer system 1000, may run an application (or software) and perform the steps and functionalities described above. Computer system 1000 may connect to a network 1014, e.g., Internet, or other network, to receive inquiries, obtain data, and transmit information and incentives as described above.

The computer system 1000 typically includes a memory 1002, a secondary storage device 1004, and a processor 1006. The computer system 1000 may also include a plurality of processors 1006 and be configured as a plurality of, e.g., bladed servers, or other known server configurations. The computer system 1000 may also include a network connection device 1008, a display device 1010, and an input device 1012.

The memory 1002 may include RAM or similar types of memory, and it may store one or more applications for execution by processor 1006. Secondary storage device 1004 may include a hard disk drive, floppy disk drive, CD-ROM drive, or other types of non-volatile data storage. Processor 1006 executes the application(s), such as those described herein, which are stored in memory 1002 or secondary storage 1004, or received from the Internet or other network 1014. The processing by processor 1006 may be implemented in software, such as software modules, for execution by computers or other machines. These applications preferably include instructions executable to perform the system and subsystem component functions and methods described above and illustrated in the FIGS. herein. The applications preferably provide graphical user interfaces (GUIs) through which users may view and interact with subsystem components.

The computer system 1000 may store one or more database structures in the secondary storage 1004, for example, for storing and maintaining the information necessary to perform the above-described functions. Alternatively, such information may be in storage devices separate from these components.

Also, as noted, processor 1006 may execute one or more software applications to provide the functions described in this specification, specifically to execute and perform the steps and functions in the process flows described above. Such processes may be implemented in software, such as software modules, for execution by computers or other machines. The GUIs may be formatted, for example, as web pages in HyperText Markup Language (HTML), Extensible Markup Language (XML) or in any other suitable form for presentation on a display device depending upon applications used by users to interact with the computer system 1000.

The input device 1012 may include any device for entering information into the computer system 1000, such as a touch-screen, keyboard, mouse, cursor-control device, microphone, digital camera, video recorder or camcorder. The input and output device 1012 may be used to enter information into GUIs during performance of the methods described above. The display device 1010 may include any type of device for presenting visual information such as, for example, a computer monitor or flat-screen display (or mobile device screen). The display device 1010 may display the GUIs and/or output from sub-system components (or software).

Examples of the computer system 1000 include dedicated server computers, such as bladed servers, personal computers, laptop computers, notebook computers, palm top computers, network computers, mobile devices, or any processor-controlled device capable of executing a web browser or other type of application for interacting with the system.

Although only one computer system 1000 is shown in detail, system 1000 may use multiple computer systems or servers as necessary or desired to support the users and may also use back-up or redundant servers to prevent network downtime in the event of a failure of a particular server. In addition, although computer system 1000 is depicted with various components, one skilled in the art will appreciate that the system can contain additional or different components. In addition, although aspects of an implementation consistent with the above are described as being stored in a memory, one skilled in the art will appreciate that these aspects can also be stored on or read from other types of computer program products or computer-readable media, such as secondary storage devices, including hard disks, floppy disks, or CD-ROM; or other forms of RAM or ROM. The computer-readable media may include instructions for controlling the computer system 1000, to perform a particular method, such as methods described above.

The present disclosure is not to be limited in terms of the particular embodiments described in this application, which are intended as illustrations of various aspects. Many modifications and variations can be made without departing from its spirit and scope, as may be apparent. Functionally equivalent methods and apparatuses within the scope of the disclosure, in addition to those enumerated herein, may be apparent from the foregoing representative descriptions. Such modifications and variations are intended to fall within the scope of the appended representative claims. The present disclosure is to be limited only by the terms of the appended representative claims, along with the full scope of equivalents to which such representative claims are entitled. It is also to be understood that the terminology used herein is for the purpose of describing particular embodiments only, and is not intended to be limiting. 

What is claimed is:
 1. A resampling method for flexible sampling rate conversion in a broadband frequency measurement device, the method comprising: revealing frequency responses of a filter in a resampling model; specifying design conditions of the filter; completing the resampling model, wherein: a fractional delay filter design model h_(p)(n) is an impulse response of a fractional delay filter with a delay of p, and a group delay of an obtained fractional delay filter is τ+p, where τ is a group delay of an idea low-pass digital filter; the fractional delay filter design model h_(p)(n) is expressed as: h _(p)(n)=h _(d)(n−p)·w(n−p), 0≤n≤N−1, wherein h_(d)(n) is an impulse response of the ideal low-pass digital filter; h_(d)(n−p) is the impulse response of the ideal low-pass digital filter shifted by a delay p, w(n) is a sequence of a window function of a length N; fractional delay filter coefficients with different group delay responses are designed by taking multiple values as p being limited as follows: p=−0.5+bδ −0.5≤p≤0.5, wherein δ is an interval and b is an integer; a filter coefficients matrix is established by substituting p into the expressed fractional delay filter design model h_(p)(n) to obtain multiple fractional delay filter coefficients; a fractional delay filter coefficients matrix is constructed as follows: ${\begin{bmatrix} h_{p1} \\ h_{p2} \\ \vdots \\ h_{pk} \end{bmatrix} = \begin{bmatrix} {h_{p1}(0)} & {h_{p1}(1)} & \ldots & {h_{p1}\left( {N - 1} \right)} \\ {h_{p2}(0)} & {h_{p2}(1)} & \ldots & {h_{p2}\left( {N - 1} \right)} \\ \vdots & \; & \; & \; \\ {h_{pk}(0)} & {h_{pk}(1)} & \ldots & {h_{pk}\left( {N - 1} \right)} \end{bmatrix}},$ wherein h_(pk) is the filter coefficients whose delay is p_(k). h_(pk)=[h_(pk)(0), h_(pk)(1), . . . , h_(pk)(N−1)]; a polynomial form of the filter coefficients matrix is established, wherein the fractional delay filter coefficients matrix is expressed in polynomial form: $\begin{matrix} {{\begin{bmatrix} h_{p1} \\ h_{p2} \\ \vdots \\ h_{pk} \end{bmatrix} = {\begin{bmatrix} p_{1} & p_{1}^{2} & \ldots & p_{1}^{I} \\ p_{2} & p_{2}^{2} & \ldots & p_{2}^{I} \\ \vdots & \vdots & \; & \vdots \\ p_{k} & p_{k}^{2} & \ldots & p_{k}^{I} \end{bmatrix}\begin{bmatrix} c_{11} & c_{12} & \ldots & c_{1N} \\ c_{21} & c_{22} & \ldots & c_{1N} \\ \vdots & \vdots & \; & \vdots \\ c_{I\; 1} & c_{I\; 2} & \ldots & c_{IN} \end{bmatrix}}},} & \; \end{matrix}$ subfilter coefficients are solved by least square method in which the following H=P·C is used to solve C by least square method as follows: C=(P ^(T) P)⁻¹ P ^(T) H, wherein, a solution provides values for the subfilter coefficients; the values for the subfilter coefficients are used to complete the resampling model by substituting in: $\begin{matrix} {{y\left( {kT_{r}} \right)} = {\sum\limits_{m = {- \infty}}^{\infty}{\sum\limits_{i = 0}^{I}{{x\left( {mT_{s}} \right)}{c\left( {\left\lbrack \frac{{kT_{r}} - {mT_{s}}}{T_{s}} \right\rbrack,i} \right)}\left( {\frac{kT_{r}}{T_{s}} - \left\lbrack \frac{kT_{r}}{T_{s}} \right\rbrack - {0{.5}}} \right)^{i}}}}} \\ {{= {\sum\limits_{m = {- \infty}}^{\infty}{\sum\limits_{i = 0}^{I}{{x\left( {mT_{s}} \right)}{c\left( {\left\lbrack \frac{{kT_{r}} - {mT_{s}}}{T_{s}} \right\rbrack,i} \right)}\left( p_{k} \right)^{i}}}}},} \end{matrix}$ wherein x(mT_(s)) is input samples at sampling cycles T_(s), and T_(r) is a resampling cycle, c(n,i) is the subfilter coefficient c_(n,i), and [*] indicates the largest integer not exceeding (*); and using the completed resampling model in the broadband frequency measurement device to achieve a predetermined sampling rate conversion and provide conditions for measuring different component signals. 